diff options
| author | Fuwn <[email protected]> | 2026-05-24 13:22:34 +0000 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2026-05-24 13:22:34 +0000 |
| commit | 56a7a7851b09cb30a5cd543c8cb4f926109b4290 (patch) | |
| tree | a620f908405fa48fd601580c5a48432831ec5c33 /src/routes/hololive/[[stream]]/+page.svelte | |
| parent | fix(layout): preserve list panel when clicking action buttons in summary (diff) | |
| download | due.moe-56a7a7851b09cb30a5cd543c8cb4f926109b4290.tar.xz due.moe-56a7a7851b09cb30a5cd543c8cb4f926109b4290.zip | |
refactor(locale): move hardcoded UI strings into english locale
Adds optional namespaces (common, errors, commandPalette, headTitle,
notifications, schedule, events, home, reader, routes, badgePreview,
badgeWall) and extends existing ones (settings.*, lists.*, tools.*,
user.*, hololive.*) on the Locale interface. New fields are optional
so japanese.ts can omit them; svelte-i18n's fallbackLocale handles
the runtime miss.
HeadTitle gains an optional routeKey prop for type-safe lookup.
defaultActions becomes a factory so the command palette re-reads
locale on language toggle. The existing JP feedback translation
in routes/settings is preserved via japanese.ts.
Out of scope (kept hardcoded): service-worker.ts, app.html,
Landing*.svelte, tools.ts registry, Easter Event 2025 pages.
Diffstat (limited to 'src/routes/hololive/[[stream]]/+page.svelte')
| -rw-r--r-- | src/routes/hololive/[[stream]]/+page.svelte | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/src/routes/hololive/[[stream]]/+page.svelte b/src/routes/hololive/[[stream]]/+page.svelte index 573c16aa..250ce22a 100644 --- a/src/routes/hololive/[[stream]]/+page.svelte +++ b/src/routes/hololive/[[stream]]/+page.svelte @@ -49,16 +49,16 @@ const getPinnedStreams = () => { }; </script> -<HeadTitle route="hololive Schedule" path="/hololive" /> +<HeadTitle routeKey="hololiveSchedule" path="/hololive" /> {#await schedulePromise} - <Message message="Loading schedule ..." /> + <Message message={$locale().hololive.loadingSchedule} /> <Skeleton grid={true} count={100} width="49%" height="16.25em" /> {:then scheduleResponse} {#if scheduleResponse} {#await scheduleResponse.text()} - <Message message="Parsing schedule ..." /> + <Message message={$locale().hololive.parsingSchedule} /> <Skeleton grid={true} count={100} width="49%" height="16.25em" /> {:then untypedSchedule} @@ -68,17 +68,17 @@ const getPinnedStreams = () => { {:catch} <Message loader="ripple" slot> {$locale().hololive.parseError} - <a href={'#'} onclick={() => location.reload()}>Try again?</a> + <a href={'#'} onclick={() => location.reload()}>{$locale().hololive.tryAgainQuestion}</a> </Message> {/await} {:else} - <Message message="Loading schedule ..." /> + <Message message={$locale().hololive.loadingSchedule} /> <Skeleton grid={true} count={100} width="49%" height="16.25em" /> {/if} {:catch} <Message loader="ripple" slot> - {$locale().hololive.loadError} Please - <a href={'#'} onclick={() => location.reload()}>try again</a> later. + {$locale().hololive.loadError} {$locale().hololive.pleasePrefix} + <a href={'#'} onclick={() => location.reload()}>{$locale().common?.tryAgain}</a> {$locale().hololive.laterSuffix} </Message> {/await} |